Symbolic Links (symlinks) হল একটি বিশেষ ধরনের ফাইল যা অন্য ফাইল বা ডিরেক্টরির পাথকে নির্দেশ করে। এটি লিনাক্স এবং ইউনিক্স সিস্টেমে ব্যবহৃত হয় এবং উইন্ডোজেও সিম্বলিক লিংক তৈরি করা সম্ভব। সাধারণত সিম্বলিক লিংক ব্যবহার করা হয় যখন কোনও ফাইল বা ডিরেক্টরির অন্য একটি লোকেশনে রিপ্রেজেন্টেশন তৈরি করতে হয়, কিন্তু মূল কনটেন্ট পরিবর্তন না করেই।
Apache Commons IO লাইব্রেরি সিম্বলিক লিঙ্ক হ্যান্ডলিংয়ের জন্য সরাসরি কোনো ক্লাস সরবরাহ না করলেও, এটি FileUtils
এবং FilenameUtils
এর মতো ক্লাসগুলো দিয়ে ফাইল সিস্টেমের কাজ করার জন্য অনেক উপকারী মেথড সরবরাহ করে। জাভার নিজস্ব java.nio.file
API ব্যবহার করে সিম্বলিক লিঙ্ক হ্যান্ডলিং করা সাধারণত উত্তম।
এখানে, আমরা Apache Commons IO এবং Java NIO (New I/O) ব্যবহার করে সিম্বলিক লিঙ্কের জন্য কিছু সাধারণ কাজ দেখব।
এটি Java NIO API ব্যবহার করে করা হয়, কারণ Apache Commons IO সরাসরি সিম্বলিক লিঙ্ক তৈরি করার জন্য কোনো ফাংশনালিটি সরবরাহ করে না।
import java.nio.file.*;
import java.io.IOException;
public class CreateSymbolicLinkExample {
public static void main(String[] args) {
Path target = Paths.get("originalFile.txt"); // মূল ফাইল
Path link = Paths.get("symbolicLink.txt"); // সিম্বলিক লিংক
try {
// সিম্বলিক লিংক তৈরি করা
Files.createSymbolicLink(link, target);
System.out.println("Symbolic link created successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Files.createSymbolicLink()
: এটি সিম্বলিক লিংক তৈরি করে যেখানে প্রথম প্যারামিটার হল লিঙ্কের নাম এবং দ্বিতীয় প্যারামিটার হল মূল ফাইল বা ডিরেক্টরি।যদি আপনি একটি সিম্বলিক লিঙ্কের পাথ বা target পাথ বের করতে চান, তবে java.nio.file.Files
ক্লাসের readSymbolicLink()
মেথড ব্যবহার করতে পারেন।
import java.nio.file.*;
import java.io.IOException;
public class ReadSymbolicLinkExample {
public static void main(String[] args) {
Path link = Paths.get("symbolicLink.txt"); // সিম্বলিক লিঙ্ক ফাইল
try {
// সিম্বলিক লিঙ্কের টার্গেট পাথ পড়া
Path target = Files.readSymbolicLink(link);
System.out.println("Symbolic link points to: " + target);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Files.readSymbolicLink()
মেথডটি সিম্বলিক লিঙ্কের টার্গেট ফাইল বা ডিরেক্টরি ফিরে দেয়।symbolicLink.txt
সিম্বলিক লিঙ্কের টার্গেট ফাইলের পাথ প্রিন্ট করা হবে।কখনো কখনো এটি প্রয়োজন হতে পারে যে, একটি নির্দিষ্ট পাথ সিম্বলিক লিঙ্ক কি না তা পরীক্ষা করা। এই কাজটি Files.isSymbolicLink()
মেথডের মাধ্যমে করা যায়।
import java.nio.file.*;
import java.io.IOException;
public class CheckIfSymbolicLinkExample {
public static void main(String[] args) {
Path link = Paths.get("symbolicLink.txt");
if (Files.isSymbolicLink(link)) {
System.out.println("The path is a symbolic link.");
} else {
System.out.println("The path is NOT a symbolic link.");
}
}
}
Files.isSymbolicLink()
মেথডটি চেক করে যে একটি পাথ সিম্বলিক লিঙ্ক কিনা এবং যদি হয়, তাহলে true
রিটার্ন করে।যেমন অন্যান্য ফাইল, সিম্বলিক লিঙ্কও Files.delete()
মেথড ব্যবহার করে মুছে ফেলা যেতে পারে।
import java.nio.file.*;
import java.io.IOException;
public class DeleteSymbolicLinkExample {
public static void main(String[] args) {
Path link = Paths.get("symbolicLink.txt");
try {
// সিম্বলিক লিঙ্ক মুছে ফেলা
Files.delete(link);
System.out.println("Symbolic link deleted successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Files.delete()
মেথডটি ফাইল বা সিম্বলিক লিঙ্ক মুছে ফেলার জন্য ব্যবহৃত হয়।Symbolic Links ফাইল সিস্টেমের অত্যন্ত গুরুত্বপূর্ণ অংশ, যা ফাইল বা ডিরেক্টরি স্থানান্তর বা রেফারেন্স তৈরি করতে সাহায্য করে। Apache Commons IO সরাসরি সিম্বলিক লিঙ্কের জন্য কিছু মেথড সরবরাহ না করলেও, Java NIO API ব্যবহার করে সিম্বলিক লিঙ্ক তৈরি, পড়া, চেক করা এবং মুছে ফেলা যায়। এই কাজগুলো আপনি Files.createSymbolicLink()
, Files.readSymbolicLink()
, Files.isSymbolicLink()
, এবং Files.delete()
মেথড ব্যবহার করে সহজে করতে পারেন।
common.read_more